<?php

/*
 * Точка входа на сайт.
 * Определение путей.
 * Инициализация автозагрузки. 
 * Передача управления фронт-контроллеру.
 */

namespace T4;

use T4\Exception;

/*
 * Определяем пути. 
 * Они будут храниться в константах \ROOT_PATH и \T4\ROOT_PATH
 * соответственно для корня сайта и корня фреймворка
 */
define('ROOT_PATH', __DIR__);
define(__NAMESPACE__ . '\\ROOT_PATH', __DIR__ . '/t4');
define(
	'ROOT_URL', 
	( empty($_SERVER['HTTPS']) || 'off' == $_SERVER['HTTPS'] ? 'http://' : 'https://' ) . $_SERVER['SERVER_NAME']
);

/*
 * Инициализируем автозагрузку фреймворка
 */
require ROOT_PATH . '/autoload.php';

/**
 * Устанавливаем режим дебага 
 */
define('DEBUG', Config::getInstance(\ROOT_PATH . '/config/common.yaml')->debug == 'on');


//$news = Application::getInstance('news');
//$news->uninstall();
//$news->install();

/**
 * Запускаем сессии
 */
Session::init();

/*
 * Запускаем фронт-контроллер и ловим его ошибки
 */
try {
    	
	//Debug::time();

	FrontController::execute();
	
	//echo Debug::time();
	
} catch (Exception $e) {
	
	/**
	 * @todo Временное решение
	 */
	header('Content-type: text/html; charset=UTF-8');
	die($e->getMessage());
	
}